package speedchina.entity.user;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import speedchina.entity.BaseEntity;

import javax.validation.constraints.NotEmpty;


/**
 * 部门对象 sys_dept
 *
 * @author 占超群
 */
@TableName("t_sys_dept")
public class  Dept extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**
     * 父部门ID
     */
    @JsonProperty("pid")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long parentId;

    /**
     * 祖级列表
     */
    private String ancestors;

    /**
     * 部门名称
     */
    @NotEmpty(message = "部门名称不能为空")
    private String deptName;

    /**
     * 显示顺序
     */
    private String orderNum;

    /**
     * 负责人
     */
    private String leader;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 部门状态:0正常,1停用
     */
    private String status;

    /**
     * 删除标志
     */
    private String delFlag;

    public String getDelFlag()
    {
        return delFlag;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getCreateBy()
    {
        return createBy;
    }

    public void setCreateBy(String createBy)
    {
        this.createBy = createBy;
    }

    public String getUpdateBy()
    {
        return updateBy;
    }

    public void setUpdateBy(String updateBy)
    {
        this.updateBy = updateBy;
    }

    /**
     * 创建者
     */

    private String createBy;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 父部门名称
     */
    @TableField(exist = false)
    private String parentName;

//    public Long getDeptId()
//    {
//        return deptId;
//    }
//
//    public void setDeptId(Long deptId)
//    {
//        this.deptId = deptId;
//    }

    public Long getParentId()
    {
        return parentId;
    }

    public void setParentId(Long parentId)
    {
        this.parentId = parentId;
    }

    public String getAncestors()
    {
        return ancestors;
    }

    public void setAncestors(String ancestors)
    {
        this.ancestors = ancestors;
    }

    public String getDeptName()
    {
        return deptName;
    }

    public void setDeptName(String deptName)
    {
        this.deptName = deptName;
    }

    public String getOrderNum()
    {
        return orderNum;
    }

    public void setOrderNum(String orderNum)
    {
        this.orderNum = orderNum;
    }

    public String getLeader()
    {
        return leader;
    }

    public void setLeader(String leader)
    {
        this.leader = leader;
    }

    public String getPhone()
    {
        return phone;
    }

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getEmail()
    {
        return email;
    }

    public void setEmail(String email)
    {
        this.email = email;
    }

    public String getStatus()
    {
        return status;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getParentName()
    {
        return parentName;
    }

    public void setParentName(String parentName)
    {
        this.parentName = parentName;
    }

    @Override
    public String toString()
    {
        return "Dept{" +
               "parentId=" + parentId +
               ", ancestors='" + ancestors + '\'' +
               ", deptName='" + deptName + '\'' +
               ", orderNum='" + orderNum + '\'' +
               ", leader='" + leader + '\'' +
               ", phone='" + phone + '\'' +
               ", email='" + email + '\'' +
               ", status='" + status + '\'' +
               ", parentName='" + parentName + '\'' +
               '}';
    }
}
